/**
 * \file CMyTreeWidget.h
 * \author Corentin Le Bail
 * \date 2009-2012
 * \brief Fichier de déclaration de la class CMyTreeWidget
 */
//------------------------------------------------------------------------------
#ifndef __CMYTREEWIDGET_H__
#define __CMYTREEWIDGET_H__
//------------------------------------------------------------------------------
#include <QTreeWidget>
#include <QDropEvent>
//------------------------------------------------------------------------------
/**
 * \class CMyTreeWidget CMyTreeWidget.h "CMyTreeWidget.h"
 * \brief Classe de dérivation du widget QTreeWidget.
 */
class CMyTreeWidget : public QTreeWidget {
	
	Q_OBJECT
	public:
		/**
		 * \fn CMyTreeWidget(QWidget *parent=0)
		 * \brief Constructeur
		 * \param[in] parent Référence de l'objet parent
		 */
		CMyTreeWidget(QWidget *parent=0);
	private:
		void dragEnterEvent(QDragEnterEvent *event);
		void dragMoveEvent(QDragMoveEvent *event);
		void dropEvent(QDropEvent *event);
		QStringList mimeTypes(void) const;
		QMimeData *mimeData(const QList<QTreeWidgetItem *> items) const;
	signals:
		/**
		 * \fn void itemDroped(int sourceId, int destId)
		 * \brief Signal émit en fin de drag'n'drop d'un favoris / dossier de favoris
		 * \param[in] sourceId Identifiant SQL du favoris déplacé
		 * \param[in] destId Identifiant SQL du dossier de favoris dans lequel on drop le favoris déplacé
		 */
		void itemDroped(int sourceId, int destId);
};
//------------------------------------------------------------------------------
#endif //__CMYTREEWIDGET_H__
//------------------------------------------------------------------------------
